$ type MMS021.RELEASE_NOTES
RELEASE NOTES FOR DEC/MMS V2.1



 NEW FEATURES


    o  Existing description files should continue to  work  without  any
       changes.

    o  Better use of built-in rules and updated built-in macros.

    o  New directives .FIRST, .LAST, .IFDEF, and .ENDIF.

    o  New mnemonic synonyms for the MMS special macros.

    o  Three new qualifiers, /NODESCRIPTION, /FROM_SOURCES, and /HELP.

    o  Specification of a file that contains the default rules MMS is to
       use.   This  feature  is  provided  by  a parameter to the /RULES
       command and the logical name MMS$RULES.

    o  Enhanced messages produced by the /LOG qualifier.

    o  Automatic access to description files and .INCLUDE  files  stored
       in VAX DEC/CMS libraries.

    o  Support for files stored in VAX  FMS  (Forms  Management  System)
       libraries  and in the VAX CDD (Common Data Dictionary).  You must
       have VAX FMS Version 2.1 or later installed on your system.

    o  Support for wildcard characters in the specifications of  VAX/VMS
       library modules.

    o  A new facility for managing subprocesses that allows quotas to be
       reduced.   The  minimum  BYTLM quota has been reduced to 13000 if
       using  DEC/MMS  recursively  and  8192  if  not   using   DEC/MMS
       recursively.

    o  More error checking and more descriptive error messages.

    o  Printing of the erroneous line when a syntax error is detected in
       a description file.

    o  A new installation procedure using VMSINSTAL.



PERFORMANCE ENHANCEMENTS

   VAX DEC/MMS V2.1 contains the following performance enhancements:

    o  The internal dependency graph has  been  restructured  to  use  a
       balanced binary tree.  This results in a much quicker parse phase
       than with the linear list used before.  The differences are  most
       noticeable with large description files.

    o  Dynamic memory is now allocated in zones.  This results  in  less
       fragmentation and less paging than before.



BUG FIXES


    o  Use of VMS search lists is now fully supported.

    o  The .FIRST and .LAST directives now work correctly with  multiple
       targets;  that  is, they are executed before and after the entire
       group of targets.

    o  The /AUDIT information is no  longer  examined  during  CDD  node
       comparisons.

    o  Text module names are handled correctly when different  from  the
       input file name.

    o  Include files in CMS libraries are  now  fetched  correctly  when
       using /CMS.

    o  Directory information is parsed out of library module names  when
       no input file spec is supplied.

    o  An internal hashtable overflow has been fixed.

    o  Internal error #2 when using double colon dependencies  has  been
       fixed.

    o  MMS now finds logical names in  user-defined  tables  when  these
       tables are added to LNM$FILE_DEV.

    o  Whitespace is parsed out of /GENERATION  when  used  in  CMSFLAGS
       macro.

    o  Illegal keywords on /IGNORE are now caught by DCL.

    o  A bug in /SKIP where a non-existant file sometimes  received  the
       wrong revision time has been fixed.



RESTRICTIONS

   The same restrictions apply to action  lines  as  in  V2.0  with  the
   following two additions.

    o  Use of GOTO and labels is not allowed  on  action  lines.   These
       only  apply  to command procedures, and action lines are executed
       individually.

    o  Action lines cannot direct output to TT:.   This  is  equated  to
       SYS$INPUT by VMS and may result in MMS hanging.



ADDITIONAL ACTION LINE RESTRICTIONS

   See also Section 2.1.3 in the MMS User's Guide.

   The maximum length of a quoted string or comment on an action line is
   130  characters.   This  includes all macros in their expanded forms.
   MMS issues an error when a quoted string or comment longer  than  130
   characters is encountered in an action line.

   Quotes imbedded in other quotes on action lines  may  not  behave  as
   expected.   Whenever this becomes a problem, you may assign the inner
   quoted string to be a DCL symbol, and use that DCL symbol within  the
   outer quoted string.

   Action lines may not create their own  subprocess.   DEC/MMS  creates
   (with  LIB$SPAWN)  and  manipulates  a  subprocess  to execute action
   lines.  If an action line creates its own subprocess, the results are
   unpredictable.

   An action line specified using  the  single  action  dependency  rule
   format  may  not  be  continued onto another line.  This format is as
   follows:

   ####TARGET(S) :  SOURCE(S) ; ACTION [!  comment]



DOCUMENTATION ERRATA

   The following is a list of corrections and omissions for the MMS V2.0
   User's Guide.

    o  The built-in rule for FMS libraries as  shown  in  Table  A-4  is
       incorrect.    The   relational  operator  in  the  first  IF-THEN
       statement should be .NES., not .EQS.

    o  In the diagram on page 2-12,  the  arrow  from  .FOR~  should  be
       pointing at .FOR, not .C.

    o  The example in section 6.2  should  have  a  period  after  every
       occurrence of PRINTNEW (indicating a null filetype).

    o  MMS now allows an optional form for dependency rules.  The string
       "DEPENDS_ON"  can  be  used  in  place of a colon, and the string
       "ADDITIONALLY_DEPENDS_ON" can be used in place of a double colon.
       These are treated as synonyms of the original verb forms.

    o  Section 2.2, paragraph 3:  The action line must be missing before
       MMS  will  attempt  to use built-in rules.  If only the source is
       missing, built-in rules will  not  be  used.   Consequently,  the
       first  example  on  page  3-7  does  not work as indicated, since
       MOD2.PAS and MOD3.PAS will not be recognized as sources.

    o  Page 5-1:  A library specification can also be used as a  command
       line target if it is enclosed in quotes.



INSTALLATION NOTICES


    o  MMS requires SYS$LIBRARY:CDDSHR.EXE to be installed  as  a  known
       image  on  your system.  This shareable image is included on your
       system regardless of whether CDD itself is  installed.   To  find
       out if CDDSHR is installed as a known image, type:

            $ INSTALL :== $SYS$SYSTEM:INSTALL/COMMAND_MODE
            $ INSTALL
              LIST SYS$LIBRARY:CDDSHR.EXE

       If CDDSHR needs to be installed, this can be done by typing:

            $ INSTALL :== $SYS$SYSTEM:INSTALL/COMMAND_MODE
            $ INSTALL
              ADD SYS$LIBRARY:CDDSHR.EXE/SHARE/OPEN/PROTECT

       If you add these lines to SYS$MANAGER:SYSTARTUP.COM, they will be
       executed every time your system boots.

    o  Since DEC/MMS is not supported on a tailored system, the note  at
       the top of page 5 of "Installing VAX DEC/MMS" should be ignored.



WARNINGS


   1.  Any dependency rule whose action results in updating not only the
       given  target  for that rule, but another target in an MMS build,
       may have unpredictable results.

   2.  If a target appears in two  dependency  rules  in  a  description
       file,  and  action  lines are specified for both, the action line
       from the later dependency rule is used.   For  example,  see  the
       following description file:

                 FOO : BAR
                      action one
                 FOO : BAR BAS
                      action two

       If the file FOO needs updating, then the second  action  will  be
       performed, and the first action will be discarded.



INFORMATION


    o  The minimum value for the BYTLM quota has been reduced  to  13000
       when invoking MMS from the description file and 8192 when not.

    o  Because MMS is now linked to system wide sharable libraries,  you
       may  receive  a "virtual memory exceeded" error message.  You may
       avoid this error by increasing your PGFLQUOTA quota.

    o  In the current version of DEC/MMS,  CMS  elements  in  dependency
       rules may contain only one CMS library element at a time.

    o  DEC/MMS does not support RSX libraries in the same way as  native
       VAX  libraries.   Since  the  time associated with modules in RSX
       libraries contains only date  information  and  not  hour:min:sec
       information,  you  may  not  access  individual modules in an RSX
       library.  RSX libraries should be treated like  any  other  files
       when you are specifying dependencies in your description file.


    o  Action lines greater than 80 characters with a comment no  longer
       cause  MMS to hang.  Because of this fix, DCL executable comments
       (DCL comments containing lexical functions) will not work and are
       not supported.

    o  MMS will now work when your subprocess quota is only one and  you
       are  not  using the $(MMS) macro (using MMS recursively).  If you
       use the $(MMS) macro, a subprocess quota of 2 is required.

    o  Not using the $(MMS) macro to recursively invoke  MMS  when  your
       subprocess quota is less than 2 is unsupported.

    o  MMS compares time stamps when CMS access  is  specified  for  the
       /DESCRIPTION  qualifier and the .INCLUDE directive and will fetch
       the file from CMS if necessary.

    o  For the built-in rules  to  work  properly  with  logicals,  only
       specify  the device and directory portion of a file specification
       with a logical.  DEC/MMS does not  translate  logical  names  and
       will  not  apply a built-in rule if a file name and file type are
       specified with a logical name.

    o  Logicals used in object library file specifications  may  not  be
       defined  in  terms  of  other  logicals.   The  lexical  function
       F$SEARCH only translates one level of logicals.

    o  Only one subprocess is created and all action lines are  executed
       in  the  context of this one subprocess.  Using SET DEFAULT in an
       action line will work as expected.  However, action lines have no
       effect on the parent task in which MMS is executing.

    o  The file generated  by  /OUTPUT  now  contains  $  as  the  first
       character  of  each  command if your CLI is DCL.  This will allow
       the generated output file to be used as a DCL command procedure.

    o  The STOP, LOGOUT, SPAWN, and CREATE DCL commands may not be  used
       in  an action line.  The same functionality as the CREATE command
       may be obtained by using the OPEN, WRITE, and CLOSE commands.

    o  Action lines may only consist of CLI commands.   Specifying  data
       to be used as input to previously run programs is not supported.

    o  If  multiple  targets  appear  in  one  dependency  rule   in   a
       description  file  the  action  line specified or implied will be
       executed once for each target.  Specifying more than  one  target
       in  a dependency rule is a shorthand notation for specifying both
       rules separately.

    o  Specifying more than one element in  a  library  reference  is  a
       shorthand  notation  for  specifying  each  element  in a library
       reference as a target.

    o  All characters in the description file  are  converted  to  upper
       case except those enclosed in double quotes (").

    o  The number of simultaneous files open is restricted to seventeen.
       This  includes  the  description  file,  include  file, and files
       specified in dependencies.  Note that a  CMS  file  implies  four
       simultaneously open files (three for CMS access and the specified
       file).

    o  Action lines preceded by the ignore  prefix  (-)  must  be  on  a
       separate  line.   The ; form may not be used as the ignore prefix
       will be interpreted as a line continuation and not as  an  ignore
       prefix.

    o  MMS uses the  LIB$SPAWN  Run-Time  Library  call  to  create  the
       subprocess  in  which  the action lines are executed.  Please see
       the  description  of  LIB$SPAWN  in  the  VAX  Run-Time   Library
       Reference Manual for more information.

    o  If /CMS was specified and a  file  specified  contains  directory
       information and the source exists in the default CMS library with
       a newer time than the specified file, MMS will fetch this  source
       from  the  default  CMS  library.  It is fetched into the current
       default directory, however, and not into the specified  one.   It
       is  not possible in this release for MMS to fetch a file from CMS
       into a directory other than the current default one.

$ 
